package cn.iocoder.yudao.module.dbit.dal.dataobject.jobinfo;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;

/**
 * 企业职位信息 DO
 *
 * @author DaBen
 */
@TableName("dbit_job_info")
@KeySequence("dbit_job_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class StudentCheckJobInfoDO extends BaseDO {

    @TableId
    private Integer jobId;
    /**
     * 招聘title
     */
    private String jobName;
    /**
     * 1:实习，2：社招 dic字段job_type
     * <p>
     * 枚举 {@link TODO job_type 对应的类}
     */
    private Integer jobType;
    /**
     * 岗位职责
     */
    private String jobDuty;
    /**
     * 岗位要求
     */
    private String jobAsk;
    /**
     * 最低薪资
     */
    private Long salaryRangeFrom;
    /**
     * 最高薪资
     */
    private Long salaryRangeTo;
    /**
     * 薪资月数，13薪
     */
    private Integer salaryMonth;
    /**
     * 1:是， 2：否
     */
    private Integer salaryMeet;
    /**
     * 工作城市, 用’;‘隔开
     */
    private String jobCity;
    /**
     * 1:专科及以上，2 本科及以上3.研究生以上3.不限-数据字典job_require_edu
     * <p>
     * 枚举 {@link TODO job_require_edu 对应的类}
     */
    private Integer jobRequireEdu;
    /**
     * %y-%M-%d投递截止实践
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate jobEndDay;
    /**
     * 1:已发布2：未发布；3过期数据字典：job_status
     * <p>
     * 枚举 {@link TODO job_status 对应的类}
     */
    private Integer jobStatus;

    /**
     * 头像地址
     */
    private String avatarPath;

    /**
     * 企业名称
     */
    private String enterpriseName;

    /**
     * 是否被收藏
     */
    private Boolean collectionStatus;

}